package com.example.backend.service;

import org.springframework.stereotype.Service;

import java.util.Map;

/**
 * 词典相关服务
 * @author 李月
 * @date 2022/5/2 13:52
 */
@Service
public interface WordService {
    /**
     *查找单词服务
     * @param wordSpell 单词拼写
     * @return map类型，包含单词id、拼写、释义、音标
     */
    public Map<String, Object> findWord(String wordSpell);

    /**
     * 管理员查找单词服务
     * @param wordSpell
     * @return map类型，包含单词id、拼写
     */
    public Map<String, Object> findWordByAdmin(String wordSpell);

    /**
     * 管理员查看单词详情服务
     * @param wordId
     * @return map类型，包含单词拼写、释义、音标
     */
    public Map<String, String> getWordSpecification(int wordId);

    /**
     * 管理员修改单词详情服务
     * @param wordId 单词id
     * @param params map类型，要修改的信息，包括拼写、释义、音标
     * @return 修改是否成功
     */
    public boolean modifyWordSpecification(int wordId, Map<String, String> params);

    /**
     * 管理员删除单词服务
     * @param wordId 单词id
     * @param adminId 管理员id
     * @param password 管理员密码
     * @return 根据删除结果返回，0位删除成功，1位单词不存在，2为删除失败，3为管理员密码错误
     */
    public int deleteWord(int wordId, int adminId, String password);

    /**
     * 管理员增加单词服务
     * @param params map类型，包括单词拼写、释义、音标
     * @return 增加是否成功，0为增加成功，1为单词已存在，2为增加失败
     */
    public int addWord(Map<String, String> params);
}
